In general, the present invention relates to a volume management method for defining a volume on a physical storage device of a storage apparatus. More particularly, the present invention relates to a processing technique for creating and moving a volume by consideration of effects on performance of other volumes.
There exists a technology called RAID (Redundant Array of Inexpensive Disks) for improving reliability and performance by grouping two or more physical disks to provide redundancy. In using a storage apparatus by adoption of the RAID technology, first of all, two or more physical disks (physical storage devices) of a storage apparatus are collected to form a group called a parity group. Then, logical storage areas are defined in the parity group. The logical storage areas are each called a volume to be used by a computer making accesses to the storage apparatus. In many cases, at least two volumes can be defined in a parity group. FIG. 1(a) shows typical definition. As shown in FIG. 1(a), four physical disks 1001, 1002, 1003 and 1004 constitute a parity group 1005 in which three volumes 1006, 1007 and 1008 are defined. The volumes 1006, 1007 and 1008 defined in the parity group 1005 all use the physical disks 1001, 1002, 1003 and 1004. A state of letting different volumes share the same physical disk prevails not only in a case wherein a storage apparatus adopting the RAID technology is used, but also a case in which two or more volumes are defined on a physical disk.
There are several ways to define the method of composing a parity group of a plurality of physical disks by using such a RAID technology. A standard used in the definition of the method is referred to as a RAID level. At RAID level 0, which is also called a stripe, for example, data is written sequentially into a plurality of physical disks in predetermined-size units. At RAID level 1, which is called a mirror, on the other hand, data is read out from and written into 2 physical disks. At RAID levels 4 and 5 for storing data redundantly, data is stored by being distributed among a plurality of disks except one specific disk so that data can be recovered onto the specific disk in case another physical disk fails and becomes unusable. RAID levels 4 and 5 differ from each other in that they employ different ways of holding redundant data.
There also exists a storage apparatus in which a parity group is composed by grouping partial areas of physical disks instead of whole areas of physical disks. In this case, a physical disk may belong to a plurality of parity groups. An example is shown in FIG. 1(b). In this example, a parity group 1015 is composed of partial areas of physical disks 1009, 1010, 1011 and 1012. A volume 1016 is defined in the parity group 1015. A parity group 1013 is composed of partial areas of physical disks 1009 and 1010 and no volume is defined in the parity group 1013. A parity group 1014 is composed of partial areas of physical disks 1011 and 1012 and a volume 1017 is defined in the parity group 1014. In this storage apparatus, the physical disks 1009, 1010, 1011 and 1012 each belong to 2 parity groups.
In some storage apparatuses adopting the RAID technology, a volume is not directly defined in a parity group. Instead, such storage apparatuses have a function whereby logical disks are defined in a parity group, logical disks are divided and joined repeatedly across several hierarchical layers and a logical disk at the top hierarchical layer is defined as a volume. In the storage apparatus shown in FIG. 1(b), for example, a logical disk is defined in each of parity groups 1013 and 1014, and what is obtained by joining the defined logical disks forms a volume.
One of references describing the RAID technology is a document authored by Mark Farley with a title of xe2x80x9cBuilding Storage Networks,xe2x80x9d Network Professional""s Library, Osborne.
By the way, in recent years, attention is paid to a SAN (Storage Area Network), which is a high-speed network comprising typically fiber channels connecting a plurality of storage apparatuses to a plurality of client computers using the storage apparatuses. In the SAN environment, a client computer is capable of using two or more storage apparatuses at the same time and a storage apparatus can be used by two or more client computers. A typical configuration of the SAN is shown in FIG. 2. In the SAN configuration shown in FIG. 2, a network 2001 connects storage apparatuses 2005, 2006 and 2007, client computers 2002 and 2003 using the storage apparatuses 2005, 2006 and 2007 as well as a management computer 2004 for managing the storage apparatuses 2005, 2006 and 2007 to each other. The management computer 2004 defines internal configurations of the storage apparatuses 2005, 2006 and 2007, which are connected to the network 2001, and controls permissions of accesses to the storage apparatuses 2005, 2006 and 2007. In the SAN environment shown in FIG. 2, if the client computer 2002 is given an access permission by the management computer 2004, the client computer 2002 is capable of making accesses to all the storage apparatuses 2005, 2006 and 2007. In addition, the client computer 2002 and the client computer 2003 are capable of sharing the storage apparatus 2005.
Many storage apparatuses such as the storage apparatuses 2005, 2006 and 2007, which are used in the SAN environment like the one shown in FIG. 2, adopt the RAID technology described earlier. For example, a plurality of volumes using the same physical disks are created in the storage apparatus 2005, and each of the volumes can be used by the client computers 2002 and 2003.
One of references describing the SAN is a document with a title of xe2x80x9cData Storage: Report 2000,xe2x80x9d an edition of Nikkei Computopia, 2000.
A storage management program is used for doing work to create and move a parity group and a volume. The storage management program is executed by the management computer connected to the SAN or a SAN terminal provided with a storage apparatus. If physical disks in a storage apparatus being processed have sufficiently large storage capacities and the storage apparatus"" necessary resources can all be used, requested operations can always be carried out.
By the way, the storage management program may have a function relevant to management of performance of physical disks and volumes. The storage management program may be provided with a function to monitor an average access time of a volume in physical disks and issues a warning if the monitored access time exceeds the average access time""s upper limit determined in advance. The storage management program may have a function to store a performance log and optimize performance by relocation of volumes in accordance with the stored performance log.
In a case wherein two or more volumes use the same physical disk shown in FIGS. 1(a) and 1(b), if accesses are concentrated on a specific one of the volumes, it is quite within the bounds of possibility that the performance of another volume using the same physical disk deteriorates. Assume that accesses are concentrated on the volume 1006 shown in FIG. 1(a). In this case, the performance of the volumes 1007 and 1008, which use the same physical disk, deteriorates. From a different point of view, if an already existing volume displays requested performance and a new volume is created to use the same physical disk as the already existing volume or a volume is moved from another physical disk to the same physical disk, it is quite within the bounds of possibility that the already existing volume is no longer capable of satisfying the requested performance. Assume that the volume 1006 shown in FIG. 1(a) currently has an average access time of 18 msec, satisfying a required average access time of 20 msec. Let a new volume be created in the parity group 1005. In this case, the average access time of the volume 1006 deteriorates to 23 msec. Thus, the volume 1006 no longer satisfies the requested average access time of 20 msec.
In an environment wherein a physical disk can be used from a plurality of client computers as is the case with the SAN environment shown in FIG. 2, special attention needs to be paid to the problems described above. This is because volumes used by different client computers can be defined on the same physical disk. In such a case, if a volume is newly created to be used by a certain client computer, the performance of a volume used by another client computer deteriorates. In addition, most of storage apparatuses used in the SAN environment adopt the RAID technology wherein relations between physical disks and volumes are set repeatedly across several hierarchical layers, resulting in a complexity. Thus, the person in charge of storage-apparatus management must manually verify which volumes share the same physical disk when changing a volume configuration. Such manual work is impractical.
In spite of the fact that the contemporary storage apparatus has the problems described above, the conventional management program and the conventional storage apparatus do not have a function for creating and moving a volume by consideration of effects on the performance of another volume.
In addition, a management program having the conventional function related to performance adopts a technique for detecting deterioration of performance and improving the deteriorating performance after actually using a volume instead of considering effects on the performance of another volume in creating or moving a volume. Thus, it is quite within the bounds of possibility that a volume becomes incapable of meeting requested average performance temporarily and the performance of another volume deteriorates even after volume relocation for preventing the performance from deteriorating.
It is thus an object of the present invention to provide a management technique for creating and moving a volume by consideration of requested performance of all related other volumes.
In accordance with an aspect of the present invention, there is provided a volume management method for setting at least a logical volume over a plurality of physical storage devices, said volume management method comprising the steps of:
receiving a volume creation request specifying information on a requested storage capacity and information on requested average performance;
forming a judgment as to whether or not there exists an unoccupied area satisfying the requested storage capacity throughout the storage devices;
forming a judgment as to whether or not all volumes, which include existing volumes each sharing any of the storage devices with a volume to be created and the volume to be created, each satisfy its requested average performance by referring to information of requested average performance on a storage means for each of said existing volumes if said unoccupied area satisfying a requested storage capacity is determined to exist; and
setting said volume to be created if all said volumes each satisfy said requested average performance.
In accordance with another aspect of the present invention, there is provided a volume management method for searching a storage apparatus comprising a plurality of physical storage devices, on which at least one logical volume is set, for an unoccupied area used by a new volume over some of said physical storage devices, said volume management method comprising the steps of:
receiving an unoccupied-area-searching request specifying information on requested average performance;
forming a judgment as to whether or not all volumes, which include existing volumes and the new volume supposed to be added to the existing volumes, each satisfy its requested average performance by referring to information of requested average performance on a storage means for each of the existing volumes which share any of the storage device with an unoccupied area; and
displaying information on the area if all the volumes each satisfy the requested average performance.